1
링크드 리스트의 구조
AI019Lesson 4
00:00

기본적인 수준에서, 링크드 리스트 은 자신의 부재 또는 구성에 의해 정의되는 재귀적 데이터 구조입니다. 리스트는 다음 중 하나입니다. 비어 있는 (는 다음과 같이 표현됨: [])이거나, 하나의 헤드 값을 포함하고, 또 다른 테일 리스트를 포함합니다.

1. 재귀적 정의

테일을 "자신이 리스트"라고 정의함으로써 무한한 중첩을 허용합니다. 이는 다음과 같은 구조로 설명됩니다. [ 1 | [ 2 | [ 3 | [ ] ] ] ], 각 파이프 연산자(|)는 즉시 값과 나머지 구조를 분리합니다.

12[]헤드테일(리스트임)

2. 원시적 구조와 추상화

Erlang 가상 머신(BEAM) 내 원시 리스트는 간단한 구조입니다. 예를 들어, List.flatten/1추상화 엘릭서의 List 모듈에서 제공하는 것입니다. 원시 데이터 구조는 스스로를 평탄화하는 방법을 '알고 있지 않으며', 모듈이 중첩된 헤드와 테일을 탐색하는 로직을 제공합니다.

3. '중첩 인형' 비유

링크드 리스트를 러시아 중첩 인형 세트처럼 생각해 보세요. 가장 바깥쪽 인형은 헤드입니다. 열었을 때, 딱 하나의 것만 발견됩니다: 또 다른 인형(그것은 테일)입니다. 마지막 작은 인형을 열었을 때 비로소 빈 상태 에 도달하게 됩니다.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>